home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
progtool
/
modula2
/
module
/
cookieja.def
< prev
next >
Wrap
Text File
|
1995-11-25
|
3KB
|
69 lines
DEFINITION MODULE CookieJar;
(* c-> M2 -> ST 12/90, ST 1/91 *)
(******************************************************************************)
(* This MODULE is Public Domain. Copy me like a beast! *)
(* Christian Ledermann *)
(* Wölfelkofen 2 *)
(* 84166 Adlkofen *)
(******************************************************************************)
(* *)
(* Started: 20.12.92 03:54:30 *)
(* Version: 20.12.89 03:244:12:54 *)
(* *)
(******************************************************************************)
(* *)
(* Diese Software ist ohne jede Garantie. Ich verspreche *)
(* keinerlei Wartung und übernehme keine Verantwortung für Schäden die *)
(* durch die Benutzung dieses Programmes entstehen. *)
(* Jegliche Ersatzansprüche lehne ich ab. *)
(* *)
(******************************************************************************)
FROM SYSTEM IMPORT ADDRESS;
TYPE Cookie = RECORD
CookieId : ARRAY [0..3] OF CHAR;
CookieValue : LONGCARD;
END(*RECORD*);
PROCEDURE CreateCookie(VAR cookie:Cookie; id : ARRAY OF CHAR;
value: LONGCARD );
(* Initialisiert in der Variablen cookie einen Cookie;
als weitere Parameter werden die Id des Coockies sowie
dessen Wert übergeben *)
PROCEDURE NewCookie(VAR Entry:Cookie):BOOLEAN;
(* Trägt einen Neuen Cookie in den Jar ein.
Achtung !
Der Fall eines bereits vollen Jars wird hier nicht
abgefangen. Es muss dann entsprechend Speicher ALLOCATEed
und der ganze Jar umkopiert werden *)
PROCEDURE GetCookie(VAR cookie:Cookie):BOOLEAN;
(* fragt den Wert eines Cookies ab.
Als Parameter wird dabei die ID des zu suchenden Cookies
übergeben.
die Routine liefert FALSE wenn der Cookie nicht
gefunden wurde; wenn er gefunden wurde
wird TRUE zurückgegeben und der Wert des Cookies
in cookie.CookieValue eingetragen *)
PROCEDURE CookieSize():LONGCARD;
(* liefert die Grösse des installierten Jars, d.h. die Anzahl der
maximal möglichen Einträge *)
PROCEDURE RemoveCookie(VAR id : ARRAY OF CHAR);
(* entfernt den mit id bezeichneten Cookie aus dem CookieJar*)
PROCEDURE MoveCookieJar(Destination : ADDRESS; size :LONGCARD);
(* verschiebt Kompletten CookieJar an eine neue Speicherstelle.
Als Parameter werden die neue ADDRESSe des Jars sowie seine Grösse
d.h. die Anzahl der in ihn hineinpassenden Cookies übergeben *)
PROCEDURE PrintCookieJar;
(* gibt den Inhalt des Cookie Jars mit WriteString, und WriteLongCard
aus *)
(* Zum Arbeiten kann dieser Teil auskommentiert werden falls man
im eigenen Programm InOut , LongInOut nicht braucht *)
END CookieJar.